Repository navigation
Add optional threadId to attempt history entries - #86
alexshamrai wants to merge 1 commit into
Conversation
Attempt history entries can record the thread or worker that executed them, using the same contract as the Test threadId. The Test threadId now explicitly describes the final attempt, and producers that run test cases in more than one process or on more than one host are asked to qualify threadId values. No omission rule and no serial-execution guarantee are added.
|
Looks great! Happy with these changes. You can include this in the open stack, or I can merge it myself as part of the stack later. Thanks for the work! Great to see you contributing to CTRF again! |
edeb775 to
18b98da
Compare
Thanks! I've moved it onto the stack: it now targets |
|
Really sorry, @alexshamrai! This is my first time dealing with forked PRs and stacks, and it seems forked PRs can’t be included in a stack. Useful to know, I suppose! I can sort it out on my side, but it would be easier if you could rebase onto the latest main again. I’ll merge this PR first, then update the rest of the stack. |
18b98da to
edeb775
Compare
|
No problem at all! @Ma11hewThomas I've rebased it onto the latest |
Adds optional
threadIdto attempt history entries, so each previous attempt can record the thread or worker that executed it (new section 11.12.1). Section 9.25 now says the Test-levelthreadIddescribes the final attempt represented by the test object.Following the review in #74, the two fields share one contract, as Test and history
attemptIddo: an optional string at both levels, plus a SHOULD to qualify the value with the process or host when test cases run in more than one process or on more than one host. The change adds no rule for an attempt withoutthreadId, and no serial-execution guarantee.Adds
threadIdto the retry history of the standalone and inline comprehensive examples, a valid document whose previous and final attempts ran on different workers, and type cases rejecting non-string attempt values. Adds the changelog entries under Unreleased. Closes #74.Version metadata is unchanged; the new fixtures use the current 0.2.0, leaving the 0.3.0 alignment to the release preparation in #75. The 0.3.0 stack also edits the 9.25 wording, the Test
threadIdschema description and the Unreleased changelog, and appends to the same normative test files, so updating the stack after this merges will need small conflict resolutions. I'm happy to help with them.Validation: schema format/lint, 18 reference cases, 162 normative cases, standalone/complete inline examples and embedded-schema byte equality pass locally with sourcemeta/jsonschema v14.4.0. The existing suites and examples on main also pass against the new schema. The informative-test directory is absent on the baseline.